Generally, this invention relates to the data communication between peripheral devices and a computer. Specifically, this invention relates to a transmission control method and system for prioritizing and servicing the various interrupts generated by multiple peripheral devices where some of the peripheral devices place equal priority demand on the computer.
Effective and efficient usage of a computer requires that the peripheral devices connected thereto (e.g., keyboards, displays and sensors) receive prompt and orderly servicing. Proper servicing results in minimizing costs by maximizing system efficiency and capability.
Various means have been used to regulate the servicing of peripheral devices. One method is known as a polling approach. The computer sequentially tests (or polls) each peripheral device in a prioritized order to determine if servicing is required. This polling is continually repeated. When the computer identifies a peripheral device that requires servicing the computer engages the appropriate software to service that device.
A more sophisticated method for servicing peripheral devices involves the use of interrupt requests. An interrupt request is a signal read by the computer indicating that a peripheral device awaits servicing. The interrupt request is generated by a means known as a link interface. After the interrupt request is generated, the computer, at an appropriate position in its program, executes a routine to service the peripheral device that prompted the interrupt.
Many peripheral devices require different types of servicing. Commonly, a peripheral device requires servicing for three reasons. The first reason occurs when the link interface is prepared to receive data from the peripheral device. An interrupt request for this reason is generally given the highest priority. The second reason, with a lower priority, occurs when the link interface is prepared to transmit data to the peripheral device. The third reason, with the lowest priority, occurs when the link interface is prepared to sense control information regarding the peripheral device; for example the status of a modem.
Heretofore, link interfaces for systems having a plurality of peripheral devices having similar servicing requirements have comprised two elements. The first element is a means to convert the signal from serial-to-parallel or from parallel-to-serial and separate the signal into its various priority level components. If the first element can be interconnected with only one peripheral device it is known as a UART. DUARTS and OCTARTS serve the same function as UARTS, but can be interconnected with two and eight peripheral devices, respectively.
The second element is a programmable interrupt controller (PIC). If the system has three priority levels three PICs are commonly used. A PIC is used to prioritize interrupts prompted by the peripheral devices. Once prioritized the interrupt signal is generated and read by the computer. After the computer acknowledges the interrupt request, the correct peripheral device is serviced.